MH-E groups messages by threads which are messages that are part of the same discussion and usually all have the same ‘Subject:’ header field. Other ways to organize messages in a folder include limiting (see Limits) or using full-text indexed searches (see Searching).
A thread begins with a single message called a root. All replies to the same message are siblings of each other. Any message that has replies to it is an ancestor of those replies.
There are several commands that you can use to navigate and operate on threads.
Display cheat sheet for the commands of the current prefix
in minibuffer (mh-prefix-help).
Display ancestor of current message
(mh-thread-ancestor).
The ‘mh-thread’ customization group contains one option.
mh-show-threads-flag On means new folders start in threaded mode (default: ‘off’).
Threading large number of messages can be time consuming so
the option mh-show-threads-flag is turned off by
default. If you turn on this option, then threading will be done
only if the number of messages being threaded is less than
mh-large-folder. In any event, threading can be
turned on (and off) with the command T t
(mh-toggle-threads).
There are a few commands to help you navigate threads. If you
do not care for the way a particular thread has turned, you can
move up the chain of messages with the command T u
(mh-thread-ancestor. At any point you can use T
n (mh-thread-next-sibling or T p
(mh-thread-previous-sibling) to jump to the next or
previous sibling, skipping the sub-threads. The command T
u can also take a prefix argument to jump to the message
that started everything.
There are threaded equivalents for the commands that delete
and refile messages. For example, T o
(mh-thread-refile) refiles the current message and
all its children. Similarly, the command T d
(mh-thread-delete) deletes the current message and
all its children. These commands do not refile or delete sibling
messages. See Navigating, for a description of
the similar command k
(mh-delete-subject-or-thread).
If you find that threading is too slow, it may be that you
have mh-large-folder set too high. Also, threading
is one of the few features of MH-E that really benefits from
compiling. If you haven’t compiled MH-E, I encourage you to
do so49.
If you’re not sure if MH-E has been byte-compiled, you
could try running ‘locate
mh-thread.elc’ or otherwise find MH-E on your
system and ensure that mh-thread.elc exists. If
you have multiple versions and you find that one is compiled
but the other is not, then go into your *scratch*
buffer in Emacs, enter load-path C-j, and ensure
that the byte-compiled version appears first in the
load-path. If you find that MH-E is not compiled
and you installed MH-E yourself, please refer to the
installation directions in the file README in the
distribution.